home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / 80X86 / ASMFAQ.ZIP / ASM_FAQ7.TXT < prev   
Encoding:
Internet Message Format  |  1996-04-03  |  15.5 KB

  1. From news.primenet.com!nntp.news.primenet.com!news.sprintlink.net!gryphon.phoenix.net!academ!binky.capnet.state.tx.us!goblin.tdh.state.tx.us!geraldo.cc.utexas.edu!cs.utexas.edu!howland.reston.ans.net!newsfeed.internetmci.com!sgigate.sgi.com!news1.best.com!news.aimnet.com!ns2.mainstreet.net!sloth.swcp.com!news.dgsys.com!DGS.dgsys.com!raymoon Tue Apr  2 15:45:00 1996
  2. Path: news.primenet.com!nntp.news.primenet.com!news.sprintlink.net!gryphon.phoenix.net!academ!binky.capnet.state.tx.us!goblin.tdh.state.tx.us!geraldo.cc.utexas.edu!cs.utexas.edu!howland.reston.ans.net!newsfeed.internetmci.com!sgigate.sgi.com!news1.best.com!news.aimnet.com!ns2.mainstreet.net!sloth.swcp.com!news.dgsys.com!DGS.dgsys.com!raymoon
  3. From: raymoon@dgsys.com (Raymond Moon)
  4. Newsgroups: alt.lang.asm,comp.lang.asm.x86,news.answers,alt.answers,comp.answers
  5. Subject: x86 Assembly Language FAQ - A86 and D86
  6. Supersedes: <4gdsq2$o9c@news.dgsys.com>
  7. Followup-To: alt.lang.asm,comp.lang.asm.x86
  8. Date: 21 Mar 1996 22:52:29 GMT
  9. Organization: MoonWare
  10. Lines: 341
  11. Approved: news-answers-request@MIT.EDU
  12. Distribution: world
  13. Expires: Sat, 20 Apr 1996 23:59:59 GMT
  14. Message-ID: <4ismjd$2tq@news.dgsys.com>
  15. Reply-To: raymoon@moonware.dgsys.com
  16. NNTP-Posting-Host: dgs.dgsys.com
  17. Summary: This is the FAQ for the x86 Assembly Language programmers for the
  18.  alt.lang.asm and comp.lang.asm.x86 newsgroups.  This particular section of
  19.  the FAQ contains x86 assembly information specific to the Eric Isaacson's
  20.  shareware A86 assembler and D86 debugger.
  21. Keywords: x86 Assemby Language ASM FAQ A86 D86
  22. X-Newsreader: TIN [version 1.2 PL2]
  23. Xref: news.primenet.com alt.lang.asm:8425 comp.lang.asm.x86:18602 news.answers:66835 alt.answers:16277 comp.answers:17534
  24.  
  25. Archive-name: assembly-language/x86/a86
  26. Posting-Frequency: monthly (21st of every month)
  27. Last-modified: 1996/01/17
  28.  
  29. ------------------------------
  30.  
  31. Subject: 1. Introduction and Intent
  32.  
  33. This is the x86 Assembly Language FAQ for the comp.lang.asm.x86 and
  34. alt.lang.asm newsgroups.  This FAQ is posted monthly on or about the 21st
  35. of the month on both newsgroups and news.answers, alt.answers and
  36. comp.answers.  It also is archived at the normal FAQ archival sites and the
  37. SimTel mirror sites in the msdos/info directory.  Lastly, the current
  38. version is available from my web page as:
  39.     http://www2.dgsys.com/~raymoon/faq/asmfaq.zip
  40. Currently, this FAQ is broken into six sections.  The following are the
  41. section filenames and the scope of each section of the FAQ.
  42.  
  43. assembly-language/x86/general/part1 - This is the basic portion of the FAQ
  44.     that contains information of interest to all assembly language
  45.     programmers.  In general, the information contained in this portion of
  46.     the FAQ is not specific to any particular assembler.
  47.  
  48. assembly-language/x86/general/part2 - This is a continuation of the above
  49.     FAQ.
  50.  
  51. assembly-language/x86/general/part3 - This is a continuation of the above
  52.     FAQ.
  53.  
  54. assembly-language/x86/microsoft - This portion of the FAQ contains
  55.     information specific for the Microsoft MASM.
  56.  
  57. assembly-language/x86/borland - This portion of the FAQ contains
  58.     information specific for the Borland TASM.
  59.  
  60. assembly-language/x86/a86 - This portion of the FAQ contains information
  61.     specific for the Shareware A86 Assembler and D86 Debugger.
  62.  
  63. The scope and content of this FAQ is to go beyond just answering the
  64. frequently asked questions.  I am including pointers to assembly language
  65. treasure troves that are hidden out on the internet.  I believe that this
  66. will enhance the FAQ's value not only to the novices but also to the old
  67. hands.
  68.  
  69. Any subject listed as "OPEN" means that this topic as been requested but no
  70. one has come forth and volunteered to write this section.  Volunteers
  71. please indicate your intentions to the author listed below either by
  72. posting to either newsgroup or by sending e-mail to the author at the below
  73. address.
  74.  
  75. The general guidelines for submission are:
  76.  *  accuracy and conciseness;
  77.  *  pointers to where on the internet more detailed information is
  78.     available; and
  79.  *  any code submitted will be generic so that most assemblers can assemble
  80.     successfully.
  81.  
  82. Any subject listed as "UNDER CONSTRUCTION" has a volunteer currently
  83. writing that subject.  If you desire to assist or have some information
  84. that you believe would be of help in writing that particular subject,
  85. contact the contributor of that subject or post to both newsgroups.  Once a
  86. subject is submitted to me, I will post it on both newsgroups for comment. 
  87. After any changes that may be necessary are made, I will include it in the
  88. next posting of the FAQ.
  89.  
  90. For the ease of determining what has changed since the last FAQ, the Table
  91. of Contents will have "REVISED" at the end of the subject line for all
  92. revised subjects.  If more than one FAQ revision has been missed, the "Last
  93. Changed:" entry at the end of each subject can be used to determine which
  94. subjects have been revised during the intervening time frame.
  95.  
  96. The information in this FAQ is free for all to use as long as you
  97. acknowledge the source.  This FAQ can be reproduced in part or in its
  98. entirety as long as the copyright is included.  This FAQ can be made
  99. available on public servers, like ftp, gopher or WWW servers.  Please do
  100. not modify the file, such as converting it into some other format, without
  101. prior permission of the author.
  102.  
  103. All references to files and locations are in Uniform Resource Locators
  104. (URLs) format.  Some web browser will be able to use these URLs directly as
  105. hot links.  If the format is not clear to you, get RFC 1738.  It is
  106. available from:   ftp://is.internic.net/rfc/rfc1738.txt 
  107.  
  108. Suggestions for changes and comments are always welcome.  They can be
  109. posted to either newsgroup or e-mailed directly to the me.
  110.  
  111. Author: Raymond Moon, raymoon@moonware.dgsys.com
  112. Copyright 1996 - Raymond Moon
  113. ALL RIGHTS RESERVED
  114. Last Changed: 17 Feb 96
  115.  
  116. ------------------------------
  117.  
  118. Subject: 2. Table of Contents
  119.  
  120. 1.  Introduction And Intent
  121. 2.  Table Of Contents
  122. 3.  What is A86 Assembler and Where Can I Get It
  123. 4.  Structuring Assembly Language in A86
  124. 5.  A386/D386 Availability
  125. 6.  A86 Source Code Site
  126. 7.  Acknowledgments
  127.  
  128. ------------------------------
  129.  
  130. Subject: 3. What is A86 Assembler and Where Can I Get It
  131.  
  132. 3.1  A86 ASSEMBLER - A86V402.ZIP
  133.  
  134. The A86 is Eric Isaacson's shareware assembler.  The latest version is 4.02
  135. and support up to the 286 instruction set.  This assembler does not support
  136. the extended registers and instructions introduced with the 386 processor. 
  137. This assembler accepts assembly language source files, and transforms them
  138. directly into either: (1) .COM files executable under MS-DOS, starting at
  139. offset 0100 within a code segment; (2) .OBJ files suitable for feeding to a
  140. linker; or (3) object files starting at offset 0, suitable for copying to
  141. ROMs.  A86 is a full featured program designed to be as closely compatible
  142. to the standard Intel/IBM assembly language as possible.
  143.  
  144. Some of A86's features are:
  145. - Assembly speed
  146. - Ease of use
  147. - Support modular programming even in .com files
  148. - Support very large programming projects
  149. - Full featured macro capability
  150. - Support for math coprocessor instructions
  151. - Supported by its own debugger, D86
  152.  
  153. New features of version 4.02 are:
  154. - INCLUDE file support
  155. - listings
  156. - no limit on size of sourse files
  157. - forward references in complex expressions
  158. - END operand
  159. - default ORG END in DATA SEGMENT
  160.  
  161. 3.2  D86 DEBUGGER - D86V402.ZIP
  162.  
  163. The D86 is Eric Isaacson's shareware debugger.  The latest version is 4.02. 
  164. D86 is a screen-oriented debugger that facilitates the troubleshooting of
  165. faulty computer programs written for the IBM-PC and all compatibles.  D86
  166. can freeze the state of a program so that the values of registers, flags,
  167. and memory can be investigated.  The program's execution can be monitored
  168. by stepping it one instruction or procedure at a time; or starting the
  169. program running, telling D86 to stop it when it reaches certain locations. 
  170. D86 recognizes the symbol-table output of the A86 assembler, creating a
  171. symbolic disassembly of a A86 program, and allowing referenced to locations
  172. and variables by name.
  173.  
  174. Some of D86's features are:
  175.     - Values of registers, flags and stack top are displayed at a fixed
  176.     location on the screen.
  177. - Support for viewing memory contents in a variety of types including
  178.     complicated structures.
  179. - Support for displaying math coprocessor registers
  180.  
  181. New features of version 4.02 are:
  182. - Keystroke scripts
  183. - macro keys
  184. - Undo command
  185. - file copy and delete
  186.  
  187. 3.3  OTHER FILES
  188.  
  189. A86CNVRT.ZIP
  190.  
  191. This file contains information on converting MASM files into A86 files. 
  192. The information is dated and a better source is Chapter 12 of the A86
  193. documentation.
  194.  
  195. D86BIOS4.ZIP
  196.  
  197. If your computer does not have an IBM-compatible BIOS, this file will help
  198. getting D86, the debugger, to work with your BIOS.
  199.  
  200. 3.4  FILE AVAILABILITY
  201.  
  202. All files are available from SimTel
  203.  
  204.     ftp://ftp.coast.net/SimTel/msdos/asmutil
  205.  
  206.     mget ?86*                   For all files
  207.         or
  208.     mget ?86v402.zip            or the basic A86 and D86 files
  209.  
  210. Contributor: Raymond Moon, raymoon@moonware.dgsys.com
  211. Last changed: 4 Nov 95
  212.  
  213. ------------------------------
  214.  
  215. Subject: 4. Structuring Assembly Language in A86
  216.  
  217. John Barnes has converted the macros from Kurt Schindler's "Structure:  The
  218. Complete Toolkit for Structuring Assembly Language Programs."  John Barnes
  219. warns that the every macro has not been proofed and tested completely. 
  220.  
  221. These macros are available from SimTel.
  222.  
  223.     ftp://ftp.coast.net/SimTel/msdos/asmutil/struca86.zip
  224.  
  225. Contributor: Raymond Moon, raymoon@moonware.dgsys.com
  226. Last changed: 8 Jan 95 
  227.  
  228. ------------------------------
  229.  
  230. Subject: 5. A386/D386 Availability
  231.  
  232. I have received the following information about A386/D386 availability from
  233. the author, Mr.Eric Isaacson:
  234.  
  235. A preliminary version of A386+D386 currently is shipping on the registered
  236. A86+D86 disk.  The A386 implements the entire 386/486/Pentium instruction
  237. set, including 32-bit registers, 32-bit expression arithmetic, and 32-bit
  238. memory indexing.  The only major feature not yet implemented is segments of
  239. type USE32 (i.e., flat mode).  There is not any schedule date for
  240. completing that last feature.
  241.  
  242. Note that the A86-only registered disk does not have A386. the A386 disk is
  243. available for $80 to get A386 ($82 overseas, $84 in Indiana).  The printed
  244. manual that covers everything is an additional $10 ($15 overseas, $10.50 in
  245. Indiana).
  246.  
  247. If you already have registered A86+D86, the A386 disk is available for the
  248. normal update service fee of $10 ($12 overseas, $10.50 in Indiana).  If A86
  249. but not D86 is registered, the A386 disk is available for $40 ($42 overseas
  250. or Indiana).  Again, the printed manual is extra.
  251.  
  252. Contributor: Raymond Moon, raymoon@moonware.dgsys.com
  253. Last changed: 20 May 95 
  254.  
  255. ------------------------------
  256.  
  257. Subject 6: A86 Source Code Site
  258.  
  259. 6.1 WHERE
  260.  
  261. The following programs include A86 source code and are available:
  262.  
  263.     ftp://kludge.byron.apana.org.au/pub/jtsoftware
  264.  
  265. 6.2 WARNING - NOT A SPEED DEMON
  266.  
  267. Just a warning that the Oz link may be a bit slow (100 cps) but none of the
  268. files are huge.  The largest, colrboot.zip and kwikhelp.zip are on SimTel.
  269.  
  270. 6.3 A FASTER WAY IS NOW AVAILABLE
  271.  
  272. Jim Tucker has installed procmail and all files at the above ftp site now are
  273. available by e-mail request.  For information e-mail:
  274.  
  275.          To: netpic@byron.apana.org.au
  276.     Subject: send help
  277.  
  278. The response is automatic and the body of the message will be ignored.  The help
  279. file will explain how to request a descriptive list of all files, an  ls -al' of
  280. the directory and how to request the files.  Non-ASCII files, i.e., .zip files,
  281. will be returned UUEncoded.  You may request Jim Tucker's UUDecoder, MUUD.COM,
  282. an ASCII executiable Netrun program, which does not need decoding.
  283.  
  284. 6.4 FILES AVAILABLE AND DESCRIPTION
  285.  
  286. ================================================================================
  287. FILES MARKED * are available on SimTel (check the version number).
  288. FILES MARKED # include A86 assembler source code
  289. ================================================================================
  290.  
  291. colrboot.zip    *#  Writes a boot sector to floppies which displays color text
  292.                     if user tries to boot from the disk.  Works with non-system
  293.                     disks through BIOS.  The display is NOT a file.  Choice of
  294.                     many displays.  Can boot from C drive etc.  Useful A86 boot
  295.                     sector source code included.
  296.  
  297. kwikhelp.zip    *#  Lets you create your own TSR screens easily and quickly. 
  298.                     Includes A86 source code.
  299.  
  300. eatpaper.zip    #   10 silly TSRs which make your dot matrix printer do silly 
  301.                     things. Source code included.  Useful if you want to write
  302.                     TSRs to control your printer.
  303.  
  304. kbutils.zip     #   A single TSR that includes:  Constant fat cursor that
  305.                     *always* works, instant abort from program loops, send LF FF
  306.                     Skip perf code to the printer from hotkeys.  The source code
  307.                     is included.
  308.  
  309. muud.zip        #   A mini-UUDecoder.  Does most things but reads only a single
  310.                     source file.  Its claim to fame is it is only 950 bytes and
  311.                     uses only 40 lines of ASCII in NETRUN.  The NETRUN file is
  312.                     included so you can e-mail it to somebody without a decoder. 
  313.                     Includes the source code. 
  314.  
  315. MUUD.NPX            This is muud in executable ASCII.  It will run with either
  316.                     DOS or UNIX end line codes without decoding!
  317.  
  318. rot13.zip       #   A trivial thing. You might like to see the source.  Uses my
  319.                     macros but the algorithm might be useful. 
  320.  
  321. drlite.zip      #   Shows lites on screen when drive(s) active (my  computer is
  322.                     under the desk). Works a treat. 
  323.  
  324. cputimer.zip    #   Net people are always asking how do you time a CPU.  Here's
  325.                     how I do it.  Dead easy.  Source included. 
  326.  
  327. colrprmt.zip    #   I have drives A-H and need to easily see which one is
  328.                     current.  I came up with this.  It changes the color of the
  329.                     DOS prompt.  It cheats a lot, but it works.  Source
  330.                     included.
  331.  
  332. mymacros.zip    #   I use macros a bit... especially "say@ 'blah blah'"  This
  333.                     might help.  You'll need to be versed in A86.  You should
  334.                     also have the registered version of A86. 
  335.  
  336. tetris.zip      #   It seems silly to include a game in a serious program. 
  337.                     (NETPIC -#).  It's only 500 bytes so what the heck.  Here's
  338.                     the program (stand alone) and the source code.  I've removed
  339.                     the macros so A86 will assemble this for you.
  340.  
  341. fptofile.zip    #   Yet another print to disk.  This one is better.  Has hot
  342.                     keys for on-off.  Variable buffer size JIM (load high). 
  343.                     Change target filename while loaded. Etc etc etc.  This
  344.                     includes the FULL source code for A86 (it will assemble as
  345.                     is) and FULL listings file.  Grab this if you are learning
  346.                     assembler.
  347.  
  348. com2data.zip    #   Converts a COM or EXE file (or anything really) to ASM data
  349.                     statements.  I use this to execute a C program from within a
  350.                     .COM program written in assembler.  Includes source code and
  351.                     source suggestions for use. 
  352.  
  353. Contributor: Jim Tucker,    jtucker@byron.apana.org.au or
  354.                             jtucker@adam.com.au
  355. Last changed: 29 Aug 95
  356.  
  357. ------------------------------
  358.  
  359. Subject: 7. Acknowledgments
  360.  
  361. I would like to acknowledge all the people who have assisted me or any of the
  362. contributors.  For their time and effort, this FAQ is a better product.
  363.  
  364. John Krueger and Gary Smith
  365.  
  366.  
  367.